GtkApplicationWindow: avoid mis-allocation
authorMatthias Clasen <mclasen@redhat.com>
Wed, 13 Nov 2013 02:01:29 +0000 (21:01 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 13 Nov 2013 02:01:29 +0000 (21:01 -0500)
In the fallback case, we were adding the border width of the
window twice, causing the content to be mis-positioned and
cut off in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=710909

gtk/gtkapplicationwindow.c

index 7f3f975448d203b736a9dd20d2c60a2237161b3d..f612dcf6b12eb55fefbbcd61722f4ef28e4cb5a4 100644 (file)
@@ -600,19 +600,11 @@ gtk_application_window_real_size_allocate (GtkWidget     *widget,
       menubar_allocation.height = menubar_height;
       gtk_widget_size_allocate (window->priv->menubar, &menubar_allocation);
 
+      child_allocation.y += menubar_height;
+      child_allocation.height -= menubar_height;
       child = gtk_bin_get_child (GTK_BIN (window));
       if (child != NULL && gtk_widget_get_visible (child))
-        {
-          gint border_width;
-
-          border_width = gtk_container_get_border_width (GTK_CONTAINER (window));
-          child_allocation.x += border_width;
-          child_allocation.y += border_width + menubar_height;
-          child_allocation.width = MAX (1, child_allocation.width - border_width * 2);
-          child_allocation.height = MAX (1, child_allocation.height - border_width * 2 - menubar_height);
-
-          gtk_widget_size_allocate (child, &child_allocation);
-        }
+        gtk_widget_size_allocate (child, &child_allocation);
     }
   else
     GTK_WIDGET_CLASS (gtk_application_window_parent_class)